#pragma once

#include <list>
#include "SDLEngine.h"
#include "SDL.h"
#include "IObject.h"
#include "SDLScene.h"

class SDLComponent: protected IObject
{
public:
	friend class SDLScene;

	SDLComponent();
	SDLComponent(SDLScene* parent);
	SDLComponent(const SDLComponent& _source);
	virtual ~SDLComponent();

protected:
	virtual void Start() = 0;
	virtual void Update() = 0;
	virtual void Stop() = 0;
	virtual void Draw();

private:
	SDLScene* m_Scene;
};